GNUSH v0301

 

 

January 1st, 2003

 

 

KPIT Infosystems Limited is now releasing GNUSH v0301, a cross compiler tool chain for Hitachi’s SH series of microprocessors and micro controllers. The compiler of this release is mainly a bug fix release.

 

FEATURES:

1. GNUSH v0301 is based on gcc-3.2.1, binutils-2.13.1 and newlib-1.10.0.

2. The latest patches have been applied to the gcc, newlib and binutils. Please refer to the FAQ for the list of patches applied and more information on the target specific patches.

3. The documentation has been trimmed to Hitachi target specific information for faster reference.

4. From this release onwards, the HMS tool chain will be discontinued. The COFF tool chain is recommended for HMS users. The utilities coffdump, srconv and sysdump have been added to COFF tool chain.

5. The GNU debugger, GDBSH needs to be downloaded separately. It is no longer shipped with GNUSH. This has been done to reduce download overheads.

 

ABOUT GNUSH v0301:

 

Release Version: GNUSH v0301

 

Release Date: 1st January 2003

 

Platforms Supported:

Red Hat GNU/Linux v6.0 or later (or compatible distribution),

Windows 9X/NT/2000/XP/ME

 

Languages: C, C++

 

SH Series:

SH1,

SH2,

SH3,

SH3e,

SH4

 

Object File Formats: ELF, COFF

 

Please register at our web based Support Request System, http://www.kpit.com/cgi-bin/srs.cgi for free technical support. However, please note that the free technical support is limited only to the European GNUSH community.

 

Please contact http://www.kpit.com/products/feedback.htm for any feedback, suggestions, bug reports or enhancement requests.

 

CHANGES IN THIS RELEASE:

This section summarizes the major changes as compared to GNUSH v0204.

 

GCC:

Target Specific Improvements and bug fixes:

1. The option --save-temps used for windows compiler reported the error, 'undefined reference to main'. This has been fixed.

 

C and Optimizer bugs:

2. Referencing an array using a ternary operator (?:) and a function return value as indices were giving faulty/variable results.

For example:

     c1=a[d==0 ? 0 : 1][f()]; c2=a[d==0 ? 0 : 1][f()];

This has been fixed.

Internal Compiler Errors:

3. An Internal Compiler Error (ICE) was reported whenever an interrupt handler called another function. This bug has been fixed.

4. The preprocessor would give core dump when _Pragma implies #pragma dependency.

For example:

     #define GCC_PRAGMA(x) _Pragma (#x)

This has been fixed.

5. An internal compiler error (ICE) for array initialization in c++ has been fixed.

For example:

     template<int D>

     foo<d>::foo() : d((const int[]){1,2,3}) { };

Preprocessor bugs:

6. The -M option was omitting the system headers files making it the same as -MM. This has been fixed.

7. The _Pragma within macro was being improperly expanded. This has been fixed.

 

For example:

     Pragma("foo"); int y;

     #define FOO _Pragma("foo"); int x;

Linker:

1. A new command line option "--no-omagic" has been added which nullifies the effects of -N. Sets the text section to be read-only and forces the data segment to be page-aligned.